package com.graduation.project.entity.dto.task;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class SaveOrUpdateTaskDTO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 课题名称
     */
    @NotBlank(message = "课题名称不能为空")
    private String taskName;


    /**
     * 指导老师工号
     */
    @NotBlank(message = "指导教师工号不能为空")
    private String adviserCode;

    /**
     * 申报方式
     */
    private String declareMethod;

    /**
     * 课题来源
     */
    @NotNull(message = "课题来源不能为空")
    private Integer taskSource;

    /**
     * 课题类别
     */
    @NotNull(message = "课题类别不能为空")
    private Integer taskCategory;

    /**
     * 课题类型
     */
    private Integer taskType;

    /**
     * 是否需要实践
     */
    private Integer isPractice;

    /**
     * 简介及选择理由
     */
    @NotBlank(message = "简介及选择理由不能为空")
    private String chooseReason;

    /**
     * 条件要求
     */
    @NotBlank(message = "条件要求不能为空")
    private String conditionRequire;

    /**
     * 特殊要求（针对学生）
     */
    @NotBlank(message = "对学生的特殊要求不能为空")
    private String specialRequire;

    /**
     * 论文研究方向
     */
    private String researchDirection;

    /**
     * 上传论文类型
     */
    @NotNull(message = "上传论文类型不能为空")
    private Integer uploadThesisType;
}
